package com.reebake.ideal.user.vo;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

 /**
 * 用户凭证
 * 
 */
@Schema(name = "用户凭证", description = "")
@Data
public class UserCredentialVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @Schema(name = "主键", description = "")
    private String userCredentialId;

    /** 用户编号 */
    @Schema(name = "用户编号", description = "")
    private String userId;

    /** 电话号码 */
    @Schema(name = "电话号码", description = "")
    private String phoneNumber;

    /** 电子邮箱 */
    @Schema(name = "电子邮箱", description = "")
    private String email;

    /** 登录名 */
    @Schema(name = "登录名", description = "")
    private String username;

    /** 最近登录IP */
    @Schema(name = "最近登录IP", description = "")
    private String lastLoginIp;

    /** 最近登录时间 */
    @Schema(name = "最近登录时间", description = "")
    private Date lastLoginTime;

    /** 账号是否被启用 */
    @Schema(name = "账号是否被启用", description = "")
    private Boolean accountEnabled;

    /** 账号是否被过期 */
    @Schema(name = "账号是否被过期", description = "")
    private Boolean accountNonExpired;

    /** 账号是否被锁定 */
    @Schema(name = "账号是否被锁定", description = "")
    private Boolean accountNonLocked;

    /** 证书(密码)是否过期 */
    @Schema(name = "证书(密码)是否过期", description = "")
    private Boolean credentialsNonExpired;

    /** 过期时间 */
    @Schema(name = "过期时间", description = "")
    private Date expireAt;

    /** 备注 */
    @Schema(name = "备注", description = "")
    private String remark;

}